package team.fjut.cf.config.interceptor.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 拦截未登录的请求 注解
 *
 * @author axiang [2019/10/9]
 */
@Target(ElementType.METHOD) //ElementType.MeTHOD 表示该自定义注解可以用在方法上
@Retention(RetentionPolicy.RUNTIME) //RetentionPolicy.RUNTIME 表示该注解在代码运行时起作用
public @interface LoginRequired {
}

//自定义注解完成了系统的公共事务。（身份验证，全局异常处理等）
//一个系统可以完成很多业务逻辑（如刷题，参加比赛）。
//但是无论什么业务，都需要在身份验证的基础上进行。
//身份验证是各种业务的基础，属于公共业务。
//把公共事务单独拿出来，进行全局的调用控制
//spring 思想，面向切面编程
